查看原文
其他

技术讨论 | 机器翻译问题浅析

朱靖波 小牛翻译 2021-09-27

作  者 | 朱靖波


最早期的机器翻译方法是基于规则的,人工书写转换翻译规则,通常由懂双语的专家来完成,费时费力,可以说属于知识驱动的机器翻译技术。

80年代末90年代初的统计机器翻译和2013年提出来的现在主流神经机器翻译技术,本质上属于数据驱动的机器学习方法,依赖于大规模双语数据,自动学习翻译规则(概率化和参数化模型来代替传统的翻译规则),选择翻译概率最大的候选译文输出。候选译文的概率分数计算完全依赖于数据统计分布,很自然得出一点,虽然引入了概率平滑机制来解决双语数据中,没有出现过的语言现象(无法正确统计计算其合理概率),高频出现的语言现象容易被高估,低频或者未出现的语言现象容易被低估,这是符合常理的,也许可以解决90%的问题。

语言是思维的载体,虽然语言学家基于大量的语言实例,总结出系统化的语言学理论来指导语言学研究,问题是在语言实际应用过程中,不同人的知识层次不同、文化背景不同、表达习惯不同等,不可能用一套所谓完整的语言学理论来表达所有语言运用的可能性,自然语言的本质就是具有歧义性,这一点不同于软件编程语言的无歧义性,歧义性最直接的好处就是表达能力强大,能够被我们很好应用于实际生活中。

我们平时相互进行交流的时候,如果把所有说的话记录下来打印出来,大家觉得自己的说的话,没有错别字和语法错误的可能有多大?不用说别的,我今天写的这段话,如果让语言学家来评价,到底有多少语法错误和语义搭配错误等,可能很多。

一、语言的歧义性和语言运用的不规范性

这就导致机器翻译首先面临的第一大问题就是语言的歧义性和语言运用的不规范性,这一点还没有考虑语言运用存在不断发展过程,看看网络用语就知道了,估计很多小孩在网络上说的话,我们成年人感觉自己out了,我们能说这些小孩母语不是中文,不会说中国话吗?只能说存在代沟了。

歧义性和不规范性就决定没有办法用一套系统完整的理论和模型来描述所有可能存在和合理的语言现象,给机器翻译的建模和翻译解码必然带来一些挑战,可能无法通过技术来彻底解决。

二、训练机器翻译系统所用的双语数据规模远远不够

第二大问题也比较明显,上述已经提到数据驱动的机器学习方法依赖于大规模双语数据,谁能知道这个世界上有多少合法的双语句子?十几亿中国人每年总共创造多少亿不同的中文句子呢?估计目前最强大的机器翻译系统所使用的双语句子数量可能还没有所有中国人一分钟创造的中文句子多,希望这点规模的双语句子数量能够训练出来一套强大的机器翻译系统,能够正确翻译我们平时说的话,可能性有多大?所以,训练机器翻译系统所用的双语数据规模远远不够。还有一个问题是,就算理论上采用更大规模的双语句对库,比现在大10000倍,就能过训练更好的机器翻译系统吗?这个答案可能也是未知,机器学习的学习能力也是有限的,只不过我们可能难以给出一个准确的能力边界。

基于数据驱动的机器学习方法对于数据的内在语义学习能力其实非常有限的,特别是数据本身没有进行语义标注的前提下,几乎无解,这一点比人的学习理解能力差远了。

三、机器翻译经常不知道自己错了

第三大问题,机器翻译经常知错不改,其实更严重的一点是,机器翻译经常不知道自己错了但对于我们来说,有时候可以知道自己翻译不好,或者哪些地方翻译不太好。比如我们不认识这个单词,所以不会翻译。我们这个短语没有理解明白,所以不会翻译。我们这个句子结构没有分析清楚,所以不会翻译。

但机器翻译不存在这个问题,它认为自己是万能的,没有啥不会翻译,并且不知道自动翻译结果是否正确,最多告诉我们一点,机器翻译系统选择一个概率最高的译文输出而已,但是否是最好的译文,这个无法保证这一点。另外,就算我们告诉机器翻译这个地方翻译不对,它也不一定保证以后不会犯类似错误。

四、机器翻译会犯一些不可思议的初级错误

第四大问题,机器翻译经常会犯一些我们觉得不可思议的初级错误。比如最简单的一个例子,我们所说的句子中有些部分没有被翻译,后者一些部分被多次翻译,这些对于我们来说,正常情况下不太可能发生,就算我们不会翻译,估计也不会不翻译一些内容和重复翻译一些内容,但机器翻译会这么干,并且经常这么干,就算你骂它,它也屡教不改。

五、目前机器翻译技术还不具备很好的理解能力

第五大问题,我们翻译资料的时候,如果是一篇文章的话,我们会考虑前后逻辑性,包括补充省略部分等,但机器翻译完成这些任务就非常困难,目前所谓篇章级机器翻译的研究工作论文不少,但实际进展非常初级,效果也不好。人工翻译是基于对原文的理解基础上完成翻译过程的,但目前机器翻译技术可以说不具备很好的理解能力,甚至没有真正的理解原文的能力,美其名曰数据驱动。

六、没有训练双语句对的无指导机器翻译技术研究

第六大问题,前面提到训练双语数据的规模总是有限的,反过来说,可能规模很少甚至没有,稀缺资源语种机器翻译是一个研究热点甚至没有训练双语句对的无指导机器翻译技术研究

假设我们不认识猫,只要见过一次猫(一个样本),就能够识别更多种类和不同姿势的猫,这些单样本的学习能力是让机器学习研究人员着迷的。如果用非常少量的双语句对就能够训练出强大的机器翻译系统,这是我们的梦想之一,可是非常困难,具有极高的研究价值。

七、机器翻译的容错能力和鲁棒性与人相比天地之别

第七大问题,我们平时交流的时候,即使对方的说的话成语用错了(我们自动纠错)、错别字(我们自动纠错)、语法结构错误(我们自动纠错),甚至话说反了(我们能够理解这是玩笑话)的等等,机器翻译的容错能力和鲁棒性与人相比简直是天地之别。通常机器翻译默认输入的源语句子是正确的,不能被轻易修改的(除非多了一些哼哈等无用词汇可以被删除),很自然会导致错误译文生成。

之前规则方法和统计机器翻译方法本质上就是直译,完全遵循输入源语句子,神经机器翻译稍微好一点,有能力适当跳出这个先天限制。但人工翻译根本不管这个限制,属于意译层面。所以我们不要简单说机器翻译代替人工翻译,直译如何代替意译?这个是不可能的事情。除非将来能够研究出基于意译的机器翻译技术再讨论吧。

关于下一代机器翻译技术的猜想

其实,我们还可以举出很多第八大第九大问题。大家可能会感兴趣一个问题,那将来机器翻译技术会如何发展呢?下一代新的机器翻译技术是啥样子呢?我们唯一能够回答的是,下一代机器翻译技术跟现在机器翻译技术不同,其它的不知道。大家可能觉得这个等于没有回答,哈哈。但有一个思路是可以想象的,目前最新技术不擅长的,但我们觉得这个东西有很有用的,这些元素就有可能成为下一代机器翻译技术的组成部分。

我现在能够想到的至少有两点,一是从数据驱动扩展到知识驱动,知识是有价值的。至于知识如何定义、知识如何获取、知识如何应用等问题需要进一步探讨。二是基于少量数据的学习泛化能力,毕竟我们无法不受限的获取更大规模的训练双语数据,那就可以反其道而为之,模拟类人翻译过程,如何从少量数据中提升机器学习的泛化能力,也许可以很好解决数据稀缺问题。

但有一点是肯定的,如果下一代技术需要太多的人工代价,这个估计大家也不干,还是数据驱动的机器学习方法为主流,至于采用哪种机器学习方法,这个我就不专业了,有没有量子学习技术、或者将来新的名词:光子学习、夸克学习、纳米学习技术等等,Who knows?




赋予机器自主设计模型“能力”,一文概览结构搜索的起源

NLP领域预训练模型的发展及变种

源和目标语句不再独立,联合表示更能提升机器翻译性能

浅析大规模多语种通用神经机器翻译方法

浅析基于隐变量的非自回归神经机器翻译方法

如何利用篇章级单语数据来提升机器翻译性能?

神经结构搜索在机器翻译中的应用

基于序列模型的随机采样

低精度神经网络:从数值计算角度优化模型效率

一文详解神经网络结构搜索(NAS)

知识科普 | 机器翻译三代技术(规则、统计和神经)通俗分析


: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存